package TpFinal;

import TpFinal.Interseccion.Direccion;

public class Simulador {

	public static void main(String[] args) {
		//se inicia el servidor
		new ServidorSemaforo().start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		//se inician los semaforos y se da start()
		Semaforo semaforoSur = new Semaforo("Semaforo Sur");
		Semaforo semaforoOeste = new Semaforo("Semaforo Oeste");
		Semaforo semaforoEste = new Semaforo("Semaforo Este");
		semaforoEste.start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		semaforoOeste.start();
		try {
			Thread.sleep(1000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		semaforoSur.start();
	
		//se crean las calles y la interseccion con los semaforos
		Interseccion interseccion = new Interseccion(semaforoSur,semaforoEste,semaforoOeste);
		Calle calleEste = new Calle("Calle Este", Direccion.ESTE);
		Calle calleOeste = new Calle("Calle Oeste", Direccion.OESTE);
		Calle calleSur = new Calle("Calle Sur", Direccion.SUR);
		
		
		//se crean los autos de distintos puntos de partida
		new Auto("auto1", calleEste, interseccion, calleOeste).start();
//		new Auto("auto4", calleSur, interseccion, calleEste).start();
//		new Auto("auto9", calleOeste, interseccion, calleEste).start();
//		new Auto("auto14", calleOeste, interseccion, calleSur).start();
		new Auto("auto3", calleEste, interseccion, calleSur).start();
//		new Auto("auto6", calleSur, interseccion, calleEste).start();
//		
		new Auto("auto5", calleSur, interseccion, calleOeste).start();
//		new Auto("auto11", calleOeste, interseccion, calleSur).start();
//		new Auto("auto12", calleOeste, interseccion, calleSur).start();
//		
//		new Auto("auto2", calleEste, interseccion, calleSur).start();
		new Auto("auto10", calleOeste, interseccion, calleEste).start();
//		new Auto("auto7", calleSur, interseccion, calleEste).start();
		new Auto("auto13", calleOeste, interseccion, calleEste).start();
//		new Auto("auto8", calleSur, interseccion, calleOeste).start();
		
	}

}
